inherit_from: .rubocop_todo.yml

require:
  - rubocop-rspec
  - rubocop-rails

AllCops:
  TargetRubyVersion: 2.7
  Exclude:
  - 'spec/dummy/bin/*'
  - 'spec/dummy/db/**/*'
  - 'spec/dummy/node_modules/**/*'
  - 'spec/gemfiles/vendor/**/*'
  - 'vendor/**/*'
  NewCops: enable

Bundler/OrderedGems:
  Enabled: false

RSpec/Capybara/FeatureMethods:
  EnabledMethods:
  - feature

Layout/MultilineMethodCallIndentation:
  EnforcedStyle: indented

Lint/AmbiguousBlockAssociation:
  Enabled: false

Metrics/AbcSize:
  Enabled: false

Metrics/BlockLength:
  Exclude:
  - Rakefile
  - spec/**/*_spec.rb
  - spec/dummy/config/environments/*.rb
  - spec/factories.rb

Metrics/ClassLength:
  Max: 125

Layout/LineLength:
  Max: 120

Metrics/MethodLength:
  Max: 25

Metrics/ModuleLength:
  Exclude:
  - spec/**/*_spec.rb

Metrics/PerceivedComplexity:
  Enabled: false

Naming/MemoizedInstanceVariableName:
  Enabled: false

Naming/PredicateName:
  Exclude:
  - spec/**/*.rb

Naming/VariableNumber:
  EnforcedStyle: snake_case

Naming/MethodParameterName:
  Enabled: false

Rails/ApplicationRecord:
  Enabled: false

Rails/CreateTableWithTimestamps:
  Enabled: false

Rails/SkipsModelValidations:
  Enabled: false

Style/CollectionMethods:
  Enabled: true

Style/Documentation:
  Enabled: false

Style/Lambda:
  EnforcedStyle: literal

Style/StderrPuts:
  Enabled: false

Style/SignalException:
  EnforcedStyle: semantic

Style/TrailingCommaInArguments:
  Enabled: false

Style/TrailingCommaInArrayLiteral:
  Enabled: false

Style/TrailingCommaInHashLiteral:
  Enabled: false

Rails:
  Enabled: true

Rails/Date:
  EnforcedStyle: strict

Rails/FindBy:
  Enabled: true
  Include:
  - app/commands/**/*.rb
  - app/models/**/*.rb
  - app/view_models/**/*.rb

RSpec/BeforeAfterAll:
  Enabled: false

RSpec/ContextWording:
  Enabled: false

RSpec/DescribeClass:
  Exclude:
  - spec/views/**/*.rb

RSpec/ExampleLength:
  Enabled: false

RSpec/ExpectInHook:
  Enabled: false

RSpec/InstanceVariable:
  Enabled: false

RSpec/LetSetup:
  Enabled: false

RSpec/MessageSpies:
  Enabled: false

RSpec/MultipleExpectations:
  Enabled: false

RSpec/NestedGroups:
  Enabled: false
